SDXL
The SDXL text-to-image diffusion model is capable of generating photo-realistic images from text descriptions. It is a deep learning model that was trained on a massive dataset of images and text captions. The model learns to associate the text with the corresponding images, and it can then use this knowledge to generate new images from text descriptions.
- Python
- JavaScript
- php
import requests
import json
url = "https://api.imagepipeline.io/sdxl/text2image/v1"
headers = {
"API-Key": "Your API Key"
}
data = {
"model_id": "d961a274-658c-4889-8c1a-bf85416cb1c1",
"prompt": "woman wearing traditional Russian clothes, forest in the background, photorealistic, 8k quality",
"negative_prompt": "error, cropped, worst quality, low quality, duplicate, bad proportions, incomplete subject",
"num_inference_steps": 30,
"refiner": true,
"samples": 1,
"guidance_scale": 7.5,
"width": 768,
"height": 768,
"safety_checker": true,
"scheduler": "UniPCMultistepScheduler",
seed: 12345
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
const url = "https://api.imagepipeline.io/sdxl/text2image/v1";
const headers = {
"API-Key": "Your API Key",
"Content-Type": "application/json"
};
const data = {
"model_id": "d961a274-658c-4889-8c1a-bf85416cb1c1",
"prompt": "woman wearing traditional Russian clothes, forest in the background, photorealistic, 8k quality",
"negative_prompt": "error, cropped, worst quality, low quality, duplicate, bad proportions, incomplete subject",
"num_inference_steps": 30,
"refiner": true,
"samples": 1,
"guidance_scale": 7.5,
"width": 768,
"height": 768,
"safety_checker": true,
"scheduler": "UniPCMultistepScheduler",
"seed": 12345
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => console.error('Error:', error));
<?php
$url = "https://api.imagepipeline.io/sdxl/text2image/v1";
$headers = array(
"API-Key: Your-API-Key",
"Content-Type: application/json"
);
$data = array(
"model_id"=> "d961a274-658c-4889-8c1a-bf85416cb1c1",
"prompt"=> "woman wearing traditional Russian clothes, forest in the background, photorealistic, 8k quality",
"negative_prompt"=> "error, cropped, worst quality, low quality, duplicate, bad proportions, incomplete subject",
"num_inference_steps"=> 30,
"refiner"=> true,
"samples"=> 1,
"guidance_scale"=> 7.5,
"width"=> 768,
"height"=> 768,
"seed" => 12345,
"scheduler"=> "UniPCMultistepScheduler",
"safety_checker" => true
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
if($response === FALSE){
die(curl_error($ch));
}
$responseData = json_decode($response, TRUE);
curl_close($ch);
var_dump($responseData);
?>
JSON Parameters
Parameter | Permissible values | Notes |
---|---|---|
model_id | str | model_id can be found in models page. Filter by SDXL models |
prompt | str, 75 tokens | Check our Prompt Guide for tips |
negative_prompt | str, 75 tokens | Check our Prompt Guide for tips |
num_inference_steps | int, [1-100] | Noise is removed with each step, resulting in a higher-quality image over time. Ideal value 20-30 |
strength | float, [0-1] | Optional denoise strength |
samples | int, [1-4] | Generates a maximum of 4 samples per API call |
guidance_scale | float, [1-20] | Higher guidance scale prioritizes text prompt relevance but sacrifices image quality. Ideal value 7.5-12.5 |
width | int | Width in pixels. Lower than or equal to 768 for best results |
height | int | Height in pixels. Lower than or equal to 768 for best results |
seed | int | Controlling the seed can help you generate reproducible images |
safety_checker | boolean | Checks for NSFW images and filters explicit images |
Status
Your response will include a status
.
- If the
status
=SUCCESS
, you will also havedownload_urls
that will have the links to your generated image based on the number of samples you have entered. The maximum number of samples that can be generated is 4. - If the
status
=PENDING
, you will receive aid
. You can use the status endpoint to fetch your image using theid
. - If the
status
=FAILURE
, you will receive only an error message.
Endpoint:
https://api.imagepipeline.io/sdxl/text2image/v1/status/{{id}}
Pass the API-Key as the authorization in the header.